﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;

namespace TangoGames.Scene
{
    public interface ICamera
    {
        Vector3 Position { get; set; }

        Vector3 Target { get; set; }

        Vector3 Orientation { get; set; }

        float Angle { get; set; }

        Matrix ViewMatrix { get; set; }

        Matrix ProjectionMatrix { get; set; }

        Quaternion ViewQuaternion { get; set; }

        float NearPlane { get ; set ; }
   
        float FarPlane { get ; set;  }

        void LookAt(Vector3 target);

        void LookMove(float deltaX, float deltaY);

        Vector3 XAxis { get; }

        Vector3 YAxis { get; }

        Vector3 ZAxis { get; }
    }

    public interface ICameraControl
    {

        ICamera Camera { get; set; }

    }
}
